8631. Количество максимальных цифр

 

Найдите, сколько раз встречается максимальная цифра в натуральном числе n.

 

Вход. Одно натуральное число n (n <  1018).

 

Выход. Выведите, сколько раз встречается максимальная цифра в натуральном числе n.

 

Пример входа 1

Пример выхода 1

2354

1

 

 

Пример входа 2

Пример выхода 2

606432232464626

5

 

 

РЕШЕНИЕ

циклы

 

Анализ алгоритма

Найдем наибольшую цифру mx в числе n. Далее подсчитаем количество цифр mx в числе n.

 

Реализация алгоритма

Читаем входное значение n.

 

scanf("%lld", &n);

 

Запоминаем значение n в переменной temp. Оно еще нужно нам будет в дальнейшем. В переменной mx находим наибольшую цифру.

 

temp = n; mx = 0;

while (n > 0)

{

  d = n % 10;

  if (d > mx) mx = d;

  n = n / 10;

}

 

Присваиваем temp в n. Снова перебираем цифры числа n. В переменной cnt находим количество цифр mx в числе n.

 

n = temp; cnt = 0;

while (n > 0)

{

  d = n % 10;

  if (d == mx) cnt++;

  n = n / 10;

}

 

Выводим ответ.

 

printf("%d\n", cnt);